//Kéki
package digitrencer;

/**
 * A bemeneteket (kapcsoló, jelgenerátor) egybefoglaló osztály
 * @author Kéki
 */
public abstract class Input extends Element {

    /**
     * A bemenet jelenlegi értéke.
     */
    protected boolean value;

    Input(int id, Wire[] inputs, Wire[] outputs) {
        super(id, inputs, outputs);
        value = false;
    }

    /**
     * Kiadja a kimenetén lévő vezetékre a tárolt értéket.
     */
    @Override
    public void run() {
        System.out.println("CALL | #" + id + ":Input | public void run()");
        out[0].setStart(value);
    }

    /**
     * Lekérdezi a bememenet jelenlegi értékét.
     * @return A bemenet értéke.
     */
    public boolean getValue() {
        System.out.println("CALL | #" + id + ":Input | public boolean getValue()");
        System.out.println("RETURN | #" + id + ":Input | boolean value = " + value);
        return value;
    }
}
